Temporal partitioning of processing unit resources (e.g., on-chip memory) allows for various processes to run and make forward progress on the processing unit. This is achieved by pausing and swapping out one process (e.g., a first process) and allowing another process (e.g., a second process) to execute. This process is called context switching because the processing unit switches from executing the first process to executing the second process.